package cn.yanjr.system.service.impl;

//public class SysOfficeServiceImpl implements  SysOfficeService {
//	
//	@Autowired
//	private SysOfficeDao sysOfficeDao;
//
//	@Override
//	public Map<String, Object> queryPage(Map<String, Object> param) {
//		int pageNo = param.get("pageNo") == null ? -1 : Integer.parseInt(param.get("pageNo").toString());
//		int pageSize = param.get("pageSize") == null ? 10 : Integer.parseInt(param.get("pageSize").toString());
////		String officeid = param.get("officeid") == null ? "" : param.get("officeid").toString();
////		String loginname = param.get("loginname") == null ? "" : param.get("loginname").toString();
////		String no = param.get("no") == null ? "" : param.get("no").toString();
////		String name = param.get("name") == null ? "" : param.get("name").toString();
////		String email = param.get("email") == null ? "" : param.get("email").toString();
////		String mobile = param.get("mobile") == null ? "" : param.get("mobile").toString();
////		String remarks = param.get("remarks") == null ? "" : param.get("remarks").toString();
//		
//		String parentname = param.get("parentname") == null ? "" : param.get("parentname").toString();
//		String name = param.get("name") == null ? "" : param.get("name").toString();
//		String remarks = param.get("remarks") == null ? "" : param.get("remarks").toString();
//
//		StringBuilder sql = new StringBuilder();
//		sql
//		.append("select o.* , o1.name parent_name,u1.name createBy, u2.name updateBy, ")
//		.append("  d1.label office_type, d2.label office_grade ")
//		.append("from sys_office o                                   ")
//		.append("left join sys_office o1 on o.parent_id=o1.id        ")
//		.append("left join sys_user u1 on u1.id=o.create_by          ")
//		.append("left join sys_user u2 on u2.id=o.update_by          ")
//		.append("left join sys_dict d1 on                            ")
//		.append("	d1.value=o.type and d1.type = 'sys_office_type'  ")
//		.append("left join sys_dict d2 on                            ")
//		.append("   d2.value=o.grade and d2.type='sys_office_grade'  ")
//		.append("where o.del_flag=0                                  ")
//		;
//		if(StringUtils.isNotEmpty(parentname)) {
//			sql.append(" and o1.name like '%").append(parentname).append("%' ");
//		}
//		if(StringUtils.isNotEmpty(name)) {
//			sql.append(" and o.name like '%").append(name).append("%' ");
//		}
//		if(StringUtils.isNotEmpty(remarks)) {
//			sql.append(" and o.remarks like '%").append(remarks).append("%' ");
//		}
//		sql.append(" order by o.create_date desc ");
//		Map<String, Object> m = new HashMap<String, Object>();
//		Map<String, Object> data = sysOfficeDao.queryByParam(sql.toString(), pageNo, pageSize);
//
//		m.put("code", 0);
//		m.put("msg", "查询成功！");
//		m.put("totalpage", data.get("total"));
//		m.put("page", pageNo);
//		m.put("count", data.get("records"));
//		m.put("data", data.get("rows"));
//		return m;
//	}
//
//	@Override
//	public SysOffice get(String id) {
//		return sysOfficeDao.findOneById(id);
//	}
//	
//	@Override
//	public Map<String, Object> getOne(String id) {
//		StringBuilder sql = new StringBuilder();
//		sql
//		.append("select o.* , o1.name parent_name,u1.name createBy, u2.name updateBy, ")
//		.append("  d1.label office_type, d2.label office_grade ")
//		.append("from sys_office o                                   ")
//		.append("left join sys_office o1 on o.parent_id=o1.id        ")
//		.append("left join sys_user u1 on u1.id=o.create_by          ")
//		.append("left join sys_user u2 on u2.id=o.update_by          ")
//		.append("left join sys_dict d1 on                            ")
//		.append("	d1.value=o.type and d1.type = 'sys_office_type'  ")
//		.append("left join sys_dict d2 on                            ")
//		.append("   d2.value=o.grade and d2.type='sys_office_grade'  ")
//		.append("where o.del_flag=0 and o.id='").append(id).append("' ");
//		;
//		List<Map<String, Object>> list = sysOfficeDao.findBySql(sql.toString());
//		
//		return list != null && list.size() > 0 ? list.get(0) : null;
//	}
//
//	@Override
//	public Map<String, Object> treeData(Map<String, Object> param) {
//		List<SysOffice> sourcelist = sysOfficeDao.findAll();
//		List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
//		treeData(list, sourcelist, "0");
//		Map<String, Object> m = new HashMap<String, Object>();
//		m.put("code", 0);
//		m.put("msg", "查询成功！");
//		m.put("treeData", list);
//		return m;
//	}
//
//	@Override
//	public Map<String, Object> save(SysOffice office) {
////		SysOffice e = sysOfficeDao.save(office);
//		sysOfficeDao.save(office);
//		Map<String, Object> m = new HashMap<String, Object>();
//		m.put("code", 0);
//		m.put("msg", "保存成功！");
////		m.put("entity", e);
//		return m;
//	}
//
//	@Override
//	public Map<String, Object> delete(String... strings) {
//		// TODO Auto-generated method stub
//		Map<String, Object> m = new HashMap<String, Object>();
//		
//		
//		
//		
//		return m;
//	}
//
//	@Override
//	public List<SysOffice> getListByParentIds(String id) {
//		return sysOfficeDao.findByLikeParents("%," + id + ",%");
//	}
//
//	@Override
//	public Map<String, Object> save(List<SysOffice> list) {
//		sysOfficeDao.saveAll(list);
//		Map<String, Object> m = new HashMap<String, Object>();
//		m.put("code", 0);
//		m.put("msg", "保存成功！");
//		return m;
//	}
//	
//	private static void treeData(List<Map<String, Object>> list, List<SysOffice> sourcelist, 
//			String parentId){
//		for (int i=0; i<sourcelist.size(); i++){
//			SysOffice e = sourcelist.get(i);
//			if (e.getParentId() != null && e.getParentId().equals(parentId)){
//				Map<String, Object> m = new HashMap<String, Object>();
//				m.put("name", e.getName());
//				m.put("id", e.getId());
//				m.put("spread", "1".equals(e.getId()));
//				list.add(m);
//				// 判断是否还有子节点, 有则继续获取子节点
//				for (int j=0; j<sourcelist.size(); j++){
//					SysOffice child = sourcelist.get(j);
//					if (child.getParentId()!=null &&child.getParentId().equals(e.getId())){
//						List<Map<String, Object>> newList = new ArrayList<Map<String, Object>>();
//						m.put("children", newList);
//						treeData(newList, sourcelist, e.getId());
//						break;
//					}
//				}
//			}
//		}
//	}
//
//}
